/**
 * 
 */
package de.cbf.cam.dsa.model.entities.weapon.valueModifier;

import javax.persistence.Entity;
import javax.persistence.Id;

import de.cbf.cam.dsa.model.entities.weapon.OneWeapon;
import de.cbf.cam.dsa.model.persistence.Header;

/**
 * @author Nebelritter
 *
 */
@Entity
public abstract class WeaponValueModifier extends Header {
	public static final int TYPE_Base			=1<<1;
	public static final int TYPE_Style			=1<<2;
	public static final int TYPE_High_KK		=1<<3;
	public static final int TYPE_WeaponMaster	=1<<4;
	
	/**
	 * @uml.property  name="type"
	 */
	protected int type;
	
	public WeaponValueModifier(int type){
		super();
		this.type = type;
	}

	public abstract void modifyWeaponValue(OneWeapon weapon);
	public abstract void unModifyWeaponValue(OneWeapon weapon);

	/**
	 * @return
	 * @uml.property  name="type"
	 */
	public int getType() {
		return type;
	}

	/**
	 * @param type
	 * @uml.property  name="type"
	 */
	public void setType(int type) {
		this.type = type;
	}

	/* (non-Javadoc)
	 * @see de.cbf.cam.dsa.model.persistence.Header#getGuid()
	 */
	@Override
	@Id
	public String getGuid() {
		return guid;
	}

	/* (non-Javadoc)
	 * @see de.cbf.cam.dsa.model.persistence.Header#setGuid(java.lang.String)
	 */
	@Override
	public void setGuid(String guid) {
		this.guid = guid;		
	}
	
	
	
}
